next up previous
Next: 2 Utility of Overlays Up: Programming X Overlay Windows Previous: Programming X Overlay Windows

1 Introduction

Overlay planes are a common feature of high-end graphics systems. Overlay planes provide an alternate set of frame buffer bitplanes which can be preferentially displayed instead of the standard set of bitplanes (often called the normal planes). Overlay planes allow avoiding damage to an image retained in the normal planes by instead rendering into the overlay planes. Pop up menus, dialogs, rubber banding, and text annotation are all functions which can make use of overlay planes to minimize screen damage. Overlays can also be used to achieve transparency effects.

Silicon Graphics Inc. (abbreviated SGI) supports overlay planes across its full range of graphics hardware. A large amount of effort was expended by SGI to seamlessly integrate overlay planes support with the X Window System [6,1,5].

It is worth noting that overlay planes can be generalized to an arbitrary number of frame buffer layers. Underlay planes are bitplanes that can defer their pixel values to the pixel values in the normal planes. Additionally, multiple sets of overlay and underlay planes are possible. In theory, the notion of normal planes is a relative concept. In practice, it is useful to differentiate some layer of bitplanes by calling them the normal planes. Layers above the normal planes are considered overlays. Layers below the normal planes are underlays.

For the purpose of this article, we discuss overlay planes because they tend to be the most useful and only the most recent SGI graphics hardware is well-suited for supporting underlay planes for X windows. Keep in mind the same basic mechanisms described can also be used to support underlay planes. Other workstation vendors like Hewlett-Packard also support X overlay windows.

This article describes support for overlay planes from an X client writer's perspective, detailing how to create and manage windows created in the overlay planes using a convention promoted as a standard by SGI. The following section further explores the usefulness of overlay planes integrated with a window system like X. The third section details SGI's Server Overlay Visuals proposal [4] and provides Xlib programming examples of how to utilize overlay planes in X. The fourth section discusses various pitfalls and portability issues when using overlay planes. The fifth section explores the future possibilities for better supporting overlays.



next up previous
Next: 2 Utility of Overlays Up: Programming X Overlay Windows Previous: Programming X Overlay Windows



Mark Kilgard
Sun Jan 7 19:28:30 PST 1996